Flush outstanding stuff when clearing directly on a window
authorAlexander Larsson <alexl@redhat.com>
Tue, 3 Nov 2009 13:39:50 +0000 (14:39 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 5 Nov 2009 11:52:11 +0000 (12:52 +0100)
Clearing will directly modify the contents of the window, so we need
to flush any outstanding moves or double-buffering.

gdk/gdkwindow.c

index 7ebea1246ab5031ffbe6b6e6fef6821e5df93625..edb9581b5157ae80338c4b4a00572e70194a96b6 100644 (file)
@@ -4429,6 +4429,10 @@ gdk_window_clear_region_internal (GdkWindow *window,
          gdk_region_intersect (copy,
                                private->clip_region_with_children);
 
+
+         /* Drawing directly to the window, flush anything outstanding to
+            guarantee ordering. */
+         gdk_window_flush (window);
          impl_iface->clear_region (window, copy, send_expose);
 
          gdk_region_destroy (copy);